package com.lanou3g.code0417_2.thread1;

/**
 * Created by dllo on 18/4/17.
 */
/*线程是计算机资源调度的最小单位
并不是Java中的概念,所有计算机基本上都有线程的概念
线程是为了让计算机在同一时间做不同的事情
本质是就是cpu等资源在不断的切换线程的执行
*/
public class Main {
    public static void main(String[] args) {
        //两个线程
        Thread a = new ThreadA();
        Thread b = new ThreadB();
        //定义线程的第二种方式
        //直接创建Thread类的对象
        //把Runnable的实现类对象,通过Thread类的构造方法,传入线程中
        RunnableC runnableC = new RunnableC();
        Thread c = new Thread(runnableC);

       /* for (int i = 0; i < 100; i++) {
            System.out.println("M"+i);
        }先运行
        return;加此语句则a.start(); b.start();不再执行
        */
        //启动线程
        //使用线程对象的start方法来启动一个线程
        //启动之后,这个线程就交给操作系统了,会自动的执行里面的run方法
        //psvm也运行在一个线程中
        //这个线程通常称为 主线程
        a.start();
        b.start();
        c.start();
        for (int i = 0; i < 100; i++) {
            System.out.println("M"+i);
        }//三个线程不定顺序执行
    }
}
